﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using RCA1._0.DAL_WS;

namespace RCA1._0
{
    public partial class SoanDieuLe : Form
    {
        public SoanDieuLe()
        {
            InitializeComponent();
        }
        private DAL_WSSoapClient wsDAL = new DAL_WSSoapClient();

        private ChuongDTO Chuong = new ChuongDTO();
        private List<ChuongDTO> dSachChuong = null;

        private DieuLeDTO DLe = new DieuLeDTO();
        private List<DieuLeDTO> dSachDieuLe = null;

        private DieuLeSoanDTO DLeSoan = new DieuLeSoanDTO();
        private DieuLeSoanDTO DLeSoanSua = new DieuLeSoanDTO();
        private List<DieuLeSoanDTO> dSachDieuLeSoan = null;
               
        List<ChuongDTO> dSachSoChuong;
        List<ChuongDTO> dSachTenChuong;

        List<DieuLeDTO> dSachSoDieuLe;
        List<DieuLeDTO> dSachTenDieuLe;

        public ChuongDTO chuong;
        public DieuLeSoanDTO dieuLeSoan;
        public DieuLeDTO dieuLe;
        public CONGTYDTO congTy;
        private void SoanDieuLe_Load(object sender, EventArgs e)
        {
            DLeSoanSua = new DieuLeSoanDTO();

            lblTenCongTy.Text = congTy.TenCongTy;

            //Lấy bảng danh sách số chương
            dSachSoChuong = new List<ChuongDTO>(wsDAL.GetDanhSachSoChuongTheoMaLoaiCongTy(congTy.MaLoaiCongTy));

            //Lấy bảng danh sách tên chương
            dSachTenChuong = new List<ChuongDTO>(wsDAL.GetDanhSachTenChuongTheoMaLoaiCongTy(congTy.MaLoaiCongTy));

            //Lấy bảng danh sách số điều lệ
            dSachSoDieuLe = new List<DieuLeDTO>(wsDAL.GetDanhSachSoDieuLeTheoMaChuong(chuong.IDChuong));

            //Lấy bảng danh sách tên điều lệ
            dSachTenDieuLe = new List<DieuLeDTO>(wsDAL.GetDanhSachTenDieuLeTheoMaChuong(chuong.IDChuong));

            //Thể hiện danh sách ra bảng
            cbbChuong.DataSource = dSachSoChuong;
            cbbChuong.DisplayMember = "SoChuong";
            cbbChuong.ValueMember = "IDChuong";

            cbbDieuLe.DataSource = dSachSoDieuLe;
            cbbDieuLe.DisplayMember = "SoDieuLe";
            cbbDieuLe.ValueMember = "IDDieuLe";


            //txtNoiDungSanCo.Text = dieuLe.NoiDung;

            LayDieuLeSoanMoi();
        }

        private void LayDieuLeSoanMoi()
        {
            //Làm mới 2 đối tượng Điều lệ và điều lệ sửa
            DLeSoan = new DieuLeSoanDTO();
            DLeSoanSua = new DieuLeSoanDTO();

           // DsDLeSoan = wsDAL.GetDanhSachDieuLeSoanTheoMaCongTy(congTy.MaCongTy);
            txtNoiDungSoan.Text = dieuLeSoan.NoiDungSoan;
        }


        #region "Làm rỗng thông tin"

        private void LamTrangThongTinDieuLe()
        {
            txtNoiDungSoan.Text = "";
        }
        #endregion


        #region "Thể hiện thông tin"

        void TheHienThongTinDieuLeSoan()
        {
            //Thể hiện thông tin điều lệ
            txtNoiDungSoan.Text = DLeSoan.NoiDungSoan;
        }

        #endregion


        private void btnHoanTac_Click(object sender, EventArgs e)
        {
            //Gọi lại đối tượng nội dung điều lệ soạn chưa bị thay đổi
            TheHienThongTinDieuLeSoan();
        }

        private void btnCapNhat_Click(object sender, EventArgs e)
        {
            
            //Cập nhật thông tin soạn điều lệ công ty mới
            DLeSoanSua.IDDieuLeSoan = DLeSoan.IDDieuLeSoan;
            DLeSoanSua.MaCongTy = DLeSoan.MaCongTy;
            DLeSoanSua.TinhTrangDieuLeSoan = DLeSoan.TinhTrangDieuLeSoan;

            wsDAL.SuaDieuLeSoan(DLeSoanSua);

            MessageBox.Show("Thông tin soạn điều lệ công ty đã được cập nhật mới");
            //Làm rỗng các thể hiện thông tin soạn điều lệ công ty sau khi sửa thành công
            LamTrangThongTinDieuLe();

            //Làm mới lại danh sách soạn điều lệ công ty sao khi Sửa thành công
            LayDieuLeSoanMoi();

            btnHoanTac.Enabled = false;
            btnCapNhat.Enabled = false;
            btnXoa.Enabled = false;
        }

        #region "Thể hiện thay đổi Button Cập Nhật, Button Về Đầu"

        //Thể hiện thay đổi Button Cập Nhật, Button Về Đầu
        void TheHienThayDoiDieuLeSoan(bool thayDoi)
        {
            if (thayDoi == true)
            {
                btnHoanTac.Enabled = false;
                btnCapNhat.Enabled = false;
            }
            else
            {
                btnHoanTac.Enabled = true;
                btnCapNhat.Enabled = true;
            }
        }

        #endregion


        #region "Xóa"

        private void btnXoa_Click(object sender, EventArgs e)
        {
            //Cập nhật thông tin soạn điều lệ công ty mới
            DLeSoanSua.IDDieuLeSoan = DLeSoan.IDDieuLeSoan;
            DLeSoanSua.MaCongTy = DLeSoan.MaCongTy;
            DLeSoanSua.TinhTrangDieuLeSoan = DLeSoan.TinhTrangDieuLeSoan;

            wsDAL.XoaDieuLeSoan(DLeSoanSua);
            MessageBox.Show("Đã xóa điều lệ công ty thành công");

            //Làm rỗng các thể hiện thông tin soạn điều lệ công ty sao khi sửa thành công
            LamTrangThongTinDieuLe();

            //Làm mới lại danh sách soạn điều lệ công ty sao khi Sửa thành công
            LayDieuLeSoanMoi();

            btnHoanTac.Enabled = false;
            btnCapNhat.Enabled = false;
            btnXoa.Enabled = false;
        }
        #endregion


        private void btnThoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnInDieuLe_Click(object sender, EventArgs e)
        {

        }

        private void btnXuatDieuLe_Click(object sender, EventArgs e)
        {

        }


        #region "Sự kiện TextChanged"

        private void txtNoiDungSoan_TextChanged(object sender, EventArgs e)
        {
            DLeSoanSua.NoiDungSoan = txtNoiDungSoan.Text;
            TheHienThayDoiDieuLeSoan(DLeSoanSua.NoiDungSoan.Equals(DLeSoan.NoiDungSoan));
        }


        #endregion


        private void btnChuyen_Click(object sender, EventArgs e)
        {

        }

    }
}
